.\"   $Id: setbddrefext.3,v 1.1 2002/03/18 11:26:51 ludo Exp $
.\" @(#)setbddrefext.2 2.7 96/07/02 ; Labo masi cao-vlsi; Author : Jacomme Ludovic
.TH SETBDDREFEXT 3 "October 1, 1997" "ASIM/LIP6" "BDD FUNCTIONS"
.SH NAME
setbddrefext \- increments the external reference,
and decrements the internal reference of a \fBbdd\fP node.
.so man1/alc_origin.1
.SH SYNOPSIS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "bdd101.h"
bddnode \(**setbddrefext( BddNode )
  bddnode \(**BddNode;
.ft R
.fi
.SH PARAMETERS
.TP 20
\fIBddNode\fP
The \fBbdd\fP node.
.SH DESCRIPTION
\fBsetbddrefext\fP increments the number of external reference
of the \fBbdd\fP node \fIBddNode\fP and decrements its number of
internal reference.
.br
.SH RETURN VALUE
\fBsetbddrefext\fP returns the \fIBddNode\fP pointer.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"negative reference, index xxx error !"
.ft R
.RS
The \fIBddNode\fP must have a positive number of internal reference.
.RE
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "bdd101.h"
   bddsystem  \(**BddSystem;
   bddcircuit \(**BddCircuit;
   bddnode    \(**BddNode;
   chain_list \(**Expr;
   BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
   BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
   BddNode = addbddcircuitin( (bddcircuit \(**)0, "i0", 0, BDD_IN_MODE_FIRST );
   BddNode = addbddnode( (bddsystem \(**)0, BddNode->INDEX, BddNode->LOW, BddNode->HIGH );
   Expr = convertbddcircuitabl( (bddcircuit \(**)0, BddNode );
   incbddrefint( BddNode );
   setbddrefext( BddNode );
   /* displays Node VAR: 0  INDEX: 2  MARK: 0  REF_EXT: 1  REF_INT: 0 */
   viewbddnode( (bddsystem \(**)0, BddNode );
   /* displays (not i0) */
   viewablexpr( Expr, ABL_VIEW_VHDL );
   freeablexpr( Expr );
   destroybddsystem( (bddsystem \(**)0 );
   destroybddcircuit( (bddcircuit \(**)0 );
.ft R
.fi
.SH SEE ALSO
.BR bdd (1)


.so man1/alc_bug_report.1

